<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    // 基于Promise发送Ajax请求
    function queryData(url) {
        var p=new Promise(function (resolve,reject) {
            var xhr=new XMLHttpRequest()
            xhr.onreadystatechange=function () {
                if (xhr.readyState!=4) return
                if (xhr.readyState==4&&xhr.status==200){
                    // 正常情况
                    resolve(xhr.responseText)
                }else {
                    // 异常情况
                    reject('服务器错误')
                }
            }
            xhr.open('get',url)
            xhr.send(null)
        })
        return p
    }
    queryData('http://localhost:3000/data')
    .then(function (date) {
        console.log(date)
    },function (info) {
        console.log(info)
    })

    // 发送多个ajax请求
    queryData('http://localhost:3000/data')
    .then(function (data) {
        console.log(data)
        return queryData('http://localhost:3000/data1')
    })
    .then(function (data) {
        console.log(data)
        return queryData('http://localhost:3000/data2')
    })
    .then(function (data) {
        console.log(data)
    })
    // 返回promise实例对象
    queryData('http://localhost:3000/data')
    .then(function (data) {
        return queryData('http://localhost:3000/data1')
    })
    .then(function (data) {
        return new Promise(function (resolve, reject) {
            setTimeout(function () {
                resolve(123)
            })
        })
    })
    .then(function (data) {
        console.log(data)
        return 'hello'
    })
    .then(function (data) {
        console.log(data)
    })
</script>
</body>
</html>